1. Field of the Invention
The present invention generally relates to a diagnosis apparatus for diagnosing a target program, a diagnosis method, and a storage medium, and more particularly, to a diagnosis apparatus and diagnosis method that receive log information from the target program by using a diagnosis program, the diagnosis program acquiring the log information of the target program at runtime and sending the log information to the diagnosis apparatus.
2. Description of the Related Art
When debugging a program of an embedded apparatus such as an image processing apparatus, it is typical to analyze log data including, for example, a variable value of a program or a condition of the apparatus.
A programmer typically uses data output commands (for example, “printf” function in C language) which are embedded in relevant locations in the source code of the program in order to obtain the log data corresponding to the programming in advance of the running of the program. When some problem or abnormal condition occurs in a program, the cause can be discovered or specified by analyzing this log data.
On the other hand, recently in the field of the computer technology, computer program diagnosis technology has been developed that interrupts an execution of the program dynamically (at run time) in order to report data (e.g. a value of a variable) of the program using a diagnosis program.
Depending on this technology, the diagnoses program may be able to execute interrupt diagnosis processing at any step of the program considered to be a diagnosis target (a target program).
At the run time of the target program, when a processing of the target program arrives at the step (a diagnosis point), the diagnosis program can refer to variables of the target program.
When the diagnosis program completes the reporting, the execution returns back to the position that it was at before the reporting occurred.
According to such the technology, log data of the target program is able to be obtained without changing source code, compiling and linking, or re-installing the program.
However, in this related art, the diagnoses program requires re-programming each time a new focus is determined. Further, if the cause cannot be specified based on the first reported data, it would be necessary to revise the diagnoses program repeatedly until the required log data was obtained.